1. Field of the Invention
The invention relates generally to digital signal processing circuitry and, more specifically, to a signal amplitude control device that digitally attenuates a signal.
2. Description of the Background Art
Traditionally, audio products are manufactured with analog components. An input analog signal is received and passed through a series of analog filters, amplifiers and potentiometers to select and modify an output signal to the desired frequency, amplitude, and the like. A certain undesirable interference or noise level is inherent with such analog components. Additionally, many of these devices have linear characteristics which are useful in many applications, but not for volume control of an audio signal. The human ear has a substantially logarithmic sensitivity to variations in sound. Ideally, a volume control should logarithmically control sound level rather than linearly.
Advancements in digital signal processing circuitry have resulted in higher quality digital audio products. These devices contain large scale integrated circuit components which are more stable and have higher signal-to-noise ratios than their fully analog predecessors. Digital circuitry is especially useful for volume control (signal attenuation) since the noise from analog components is eliminated and precise manipulation of signals is possible. Specifically, digital signal processing requires that an input analog signal be converted into the digital domain e.g., a sequence of multi-bit digital samples representing the amplitude of the input analog signal. The digital signal is applied to a number of hardware components such as adders, subtractors, multipliers and dividers, digital filters, and the like to establish an attenuation multiplier which is applied to the existing signal to increase or decrease the amplitude of the signal. Lastly, the attenuated input signal is converted back into the analog domain to create the desired analog output signal. However, if too many multipliers (or dividers) are required to create the attenuated signal, an undesirable complex, costly, and slow circuit is created. As such, most digital volume control circuits rely on a simple discrete attenuation step of 6 dB. Such a discrete 6 dB step is implemented merely by shifting each multibit sample one bit to the right (i.e., a division by two). A higher degree of precision (e.g., 2 dB) is preferred, but is difficult to attain because of the excessive number of mathematical operations required to determine an appropriate attenuation multiplier. For example, a single 2 dB change corresponds to an attenuation multiplier of 0.794. For each successive 2 dB change, the multiplier is determined by multiplying powers of 0.794, i.e., 6 db change=3 steps=0.7943=0.5006. The multiplier is used to scale the input sample to achieve the attenuation effect.
One solution to providing predefined 2 dB incremental attenuation is to use logarithm and antilogarithm tables stored in a Read Only Memory (ROM). The log table determines log values for the operands of a given multiplication (or division) operation. Consequently, the more complex operation is reduced to an addition (or subtraction) of the log values of the operands. The resultant log value is then identified in the antilog table to determine the product (or quotient) which becomes the attenuation multiplier. This method is limited in that a certain error (truncation error) is inherent in the log or antilog values. The error depends on the number of bits used to represent the log and antilog values. Reducing the error by using more bits to represent the values and produce larger tables containing more accurate log values generally exceeds design and cost constraints.
U.S. Pat. No. 4,004,140 of Izumi et al. teaches a digital attenuator capable of providing an output signal nearly in proportion to an input signal utilizing log compressed data as defined by the following equation; Pout=xcex1Pin+N (see FIG. 4, linear curves xe2x80x9cbxe2x80x9d, xe2x80x9ccxe2x80x9d and xe2x80x9cexe2x80x9d plotted on a logxe2x80x94log scale and Column 2, lines 24-26). The Izumi et al. attenuator employs a calculator 5 comprised of two shift registers and an adder, a pattern generating circuit 6, a second adder 7 and a comparator 8.
As such, the state of the art is limited in that present volume control circuits can cost effectively attenuate a signal in a logarithmic manner using only 6 dB increments. If more precise attenuation increments are preferred, i.e., 2 dB, complex circuitry or memory consuming tables are necessary to complete the task without increasing error margins or processing time.
Therefore, there is a need in the art for an improved digital attenuator that provides a simple, cost effective design capable of logarithmically attenuating a signal using less than 6 dB increments.
The disadvantages heretofore associated with the prior art are overcome by an inventive digital attenuator which provides an approximation of a logarithmically attenuated value that is computationally simple to calculate and provides a logarithmic response in relatively small increments (e.g., 2 dB). The digital attenuator contains a shift register, an adder and a latch. The shift register shifts an incoming digital signal by n bits. The n-bit shifted signal is coupled to an input terminal of the latch. The incoming signal is then shifted a second time by m minus n bits (to provide a m-bit shifted signal) and coupled to one input terminal of the adder. The values of n and m are integer values predefined by a system within which the digital attenuator is intended to operate and may be stored in a lookup table or computed via combinational logic. The values control the level of attenuation and are selected from the lookup table or decoded as appropriate, according to a position sensor or logic decoder coupled to a control device such as a volume control knob or button(s). The adder calculates the approximate attenuated value by adding the n and m bit shifted signals.
Additionally, the invention includes a method of approximating a logarithmically attenuated value for attenuating a digitized signal having the steps of coupling the digitized input signal to a shift register, shifting the digitized input signal a first time and coupling the first-shifted signal to a latch, shifting the digitized input signal a second time and coupling the second-shifted signal to an adder, coupling the latched, first-shifted signal to the adder and adding the first-shifted and second-shifted signals to produce the logarithmically attenuated value.
This invention fulfills the long felt need for a signal amplitude control circuit, e.g., a volume control circuit for an audio signal, that attenuates a signal in increments that are less than 6 dB (e.g., 2 dB increments). In particular, the n and m shifted digital signals represent the original analog signal that has been, as appropriate, repeatedly divided by 2. By adding the two fractions, a scaled value that reasonably approximates a true logarithmically attenuated value is created.